package vcexam;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class SumatoriAssert {

	public int sumatoria(List numeros) { 
		int suma = 0;
		for(Iterator it = numeros.iterator(); it.hasNext();) { 
		    suma += ( (Integer)it.next() ).intValue(); 
		}
		assert suma <= 500: suma;
		return suma;
	    }
	
	public static void main(String[] args) {
		List numeros = new ArrayList();
		int inicial = 0;
		
		// Convertir Dato de Entrada a primitivo int
		// Bloque try/catch utilizado en caso de no ser posible conversion
		
		try { 
		    inicial  = Integer.parseInt(args[0]);
		} catch (NumberFormatException ex) { 
		    System.out.println("El dato proporcionado no puede ser convertido a un numero");
		    System.exit(-1);
		} catch (Exception ex) { 
		    System.out.println("Ocurrio un error " + ex);
		    System.exit(-1);
		}
			    
		// Ciclo para llenar Lista
		for (int i = 0; i < 10; i++) { 
		    numeros.add(new Integer(inicial+i)); 
		}
		
		SumatoriAssert factorial = new SumatoriAssert();
		int resultado = factorial.sumatoria(numeros);

		System.out.println("La suma de los 10 numeros a partir del numero proporcionado[" + inicial + "] es : " + resultado);
	    }
	}


